import store from '@/store'

export default {
  inserted( el, binding, vnode ) {
    const { value } = binding
    const roles = store.getters && store.getters.roles

    if ( value && value instanceof Array && value.length > 0 ) {
      const permissionRoles = value

      const hasPermission = roles.some( role => {
        return permissionRoles.includes( role )
      } )

      if ( !hasPermission ) {
        el.parentNode && el.parentNode.removeChild( el )
      }
    } else {
      throw new Error( `need roles! Like v-permission="['admin','editor']"` )
    }
  }
}
